In a machine having a movable part arranged to be reciprocated along each of one or more feed screws, typically, each feed screw is rotated in a desired direction by means of a corresponding servomotor, which is drivingly controlled by a servo system, so as to move the machine movable part in desired directions along the feed screws, in order to perform a desired operation. When the moving direction of the movable part is reversed, however, the movable part sometimes cannot accurately follow up a command for movement, due to backlash of the feed screws or the like, thus failing to perform the desired operation with accuracy.
In machining a workpiece into a hollow cylinder, for example, servomotors for X and Y axes typically are rotated so that a cutting tool mounted on a tool table moves relatively to the workpiece along a tool path within an XY plane. In doing this, the cutting tool on the Y axis is first moved in the negative direction along the X axis, as well as in the negative direction along the Y axis, in order that it is moved along the tool path within the second quadrant of the XY plane, for example. Then, the tool is moved in the positive direction along the X axis, as well as in the negative direction along the Y axis, in order that it is moved within the third quadrant of the XY plane. Further, the tool is moved in the fourth and first quadrants of the XY plane. When the tool transfers between the adjacent quadrants, a positional deviation in the servo system corresponding to the axis (feed screw) associated with the reverse movement of the tool is generally reduced to zero, and a torque command from the servo system is reduced, while a frictional force produced in the mechanical system acts in different directions before and after the transfer. Thus, when the tool transfers between the adjacent quadrants, the servomotor cannot immediately produce an output torque great enough to resist the frictional force, so that the servomotor sometimes cannot be reversed at once. When the tool transfers from the second quadrant to the third, for example, the reversal of the X-axis motor may suffer a delay. Since the feed screws of the tool table are subject to backlash, moreover, the tool table sometimes cannot follow up the movement command during the transfer between the quadrants, so that the reverse movement of the table is delayed. If the follow-up performance is lowered in this manner, the cutting work is insufficient, so that projections are formed on the machined surface of the workpiece.
Conventionally, in order to eliminate these problems, backlash correction and backlash acceleration correction are effected in the servo system when the servomotor is reversed from a first rotating direction to a second rotating direction. For example, a conventional digital servo circuit (FIG. 8), which is provided with a processor for executing position, speed and current loop processes on software-basis in response to a position command from a numerical control device having a computer built-in, is arranged to receive backlash correction data which is delivered from the control device when the sign of the position command is inverted. When the correction data is inputted, the processor which functions as backlash correction means 13 adds this correction data to a value (positional deviation) stored in an error counter 10. Then, the processor which functions as position loop means 11 multiplies the positional deviation after the correction by a position gain Kp, thereby generating a speed command VCMD. Further, the processor which functions as speed loop means 12 and current loop means (not shown) successively executes the speed and current loop processes in accordance with a speed command after the correction obtained by adding a backlash acceleration amount to the speed VCMD, thereby acceleratively operating the servomotor in the second rotating direction.
The backlash acceleration correction is intended to compensate the motor reversal delay attributable to the backlash and frictional force of the mechanical system caused when the servomotor is reversed. To attain this, the backlash acceleration amount, backlash acceleration start timing, and backlash acceleration time must be set properly. If these parameters are improper, the stroke of the cutting tool may be too long or too short, so that projections and recesses are formed on the machined surface of the workpiece. If the backlash acceleration correction is executed simultaneously with the entry of the backlash correction data, for example, the backlash acceleration correction is started before the sign of the speed command VCMD is inverted, and the servomotor is reversed before a predetermined timing for the start of the motor reversal. Thus, the amount of feed of the cutting tool is excessive, so that recesses are formed on the workpiece. Recesses are formed also if the backlash acceleration amount is excessive.
In order to rationalize the backlash acceleration start timing, therefore, the backlash acceleration correction is conventionally started after it is concluded that the motor reversal timing is reached when the sign of the positional deviation is inverted. Further, the backlash acceleration amount and the backlash acceleration time are determined by trial and error in a manner such that the speed command after the correction agrees with an ideal speed command which is given by the product of the position gain Kp and a positional deviation e(t), represented as a function of the time t elapsed after the inversion of the sign of the positional deviation. The backlash acceleration correction is finished when position feedback pulses of a number corresponding to the acceleration time thus determined are inputted.
As described above, the optimum values of the parameters, such as the backlash acceleration amount, acceleration time, etc., must be strictly determined, and these optimum values change depending on cutting conditions (generally, machine operating conditions) which include the cutting speed. Conventionally, on the other hand, the optimum values of the backlash acceleration correction parameters are determined by trial and error, so that it is difficult to set the parameter values.